// 除了默认的绑定，隐式绑定、显示绑定，还有最后一种new的方式绑定

// 在使用new的时候会调用构造函数，但是js中的构造函数，其实就只是一个普通的函数

/* 
new运行一个函数
1、创建一个全新的对象
2、将function的原型接到这个对象上
3、这个新对象被绑定在函数的this上
4、除非函数有自己的返回值，否则自动返回这个新对象

*/
(function () {
    function myFun(){
        this.a="a";
    }
    var fn=new myFun();
    console.log(fn.a);
})();


// summarize
/* 
new binding>call/apply(explicit binding)>implicit binding>default binding
*/
